<?php

namespace App\Service;

use Yolo\Service\Singleton;
use Yolo\Service\Traits\SingletonTrait;

/**
 * SingletonTest
 * @author lushaoming<lushaoming6@gmail.com>
 * @date 2024/2/20
 */
class SingletonTest
{
    use SingletonTrait;

    private int $index = 0;

    /**
     * 构造方法需要为public
     */
    public function __construct()
    {
        $this->index++;
    }

    /**
     * 生成实例的时候，如果存在initializer方法，则会自动调用initializer方法
     * @return void
     */
    public function initializer(): void
    {
        $this->index++;
    }

    public function getIndex(): int
    {
        // 返回2
        return $this->index;
    }
}
